<?php
//5. 实务中注册经常需要填写密码，我们需要对密码进行验证，参考如下规则，并用php代码实现。
//	(1). 使用正则表达式判断密码只包含数字，并且长度在6~15位。
//	(2). 使用正则表达式判断密码只包含数字和字母，并且既有数字也有字母，长度在6~15位。（高能预警）
//	(3). 使用正则表达式判断密码只包含数字、字母和特殊字符~!@#$%^&*，并且数字、字母、特殊字符至少包含1个，长度在6~15位。


//	(1). 使用正则表达式判断密码只包含数字，并且长度在6~15位。
$mima1="123456789";
$result1=preg_match("/^\d{6,15}/",$mima1);
if ($result1>0){
    echo "密码符合格式";   //1
}else{
    echo "密码不符合格式";  //0
}
echo "</br>";



//	(2). 使用正则表达式判断密码只包含数字和字母，并且既有数字也有字母，长度在6~15位。（高能预警）
//^(\d|[a-zA-Z])*((\d[a-zA-Z])|([a-zA-Z]\d))(\d|[a-zA-Z])*$
//开头是数字或者字母，跟前面一样或者不一样，先数字字母或者先字母数字，结尾是数字或者字母
$mima2 = "10030112w";
$result2 = preg_match("/^[a-zA-Z0-9]{6,15}$/", $mima2);//字母和数字组合6-15
$result3 = preg_match("/[0-9]/", $mima2);              //至少含有一个数字
$result4 = preg_match("/[a-zA-Z]/", $mima2);           //至少含有一个字母
if ($result2 && $result3 && $result4) {
    echo "密码符合条件";
} else {
    echo "密码不符合条件";
}
echo "</br>";



//	(3). 使用正则表达式判断密码只包含数字、字母和特殊字符~!@#$%^&*，并且数字、字母、特殊字符至少包含1个，长度在6~15位。
$mima3="wls852963@";
$result5 = preg_match("/^[a-zA-Z0-9]|[~!@#$%^&*]{6,15}$/", $mima3);//字母和数字组合6-15
$result6 = preg_match("/[0-9]/", $mima3);              //至少含有一个数字
$result7 = preg_match("/[a-zA-Z]/", $mima3);           //至少含有一个字母
$result8 = preg_match("/[~!@#$%^&*]/", $mima3);
if ($result5 && $result6 && $result7&&$result8) {
    echo "密码符合条件";
} else {
    echo "密码不符合条件";
}
echo "</br>";

